Computers and data processing systems are often used to perform complex manipulations and calculations on large data sets. Once the data is processed as desired, it often presented to the user for review. For large, multi-dimensional and/or amorphous data sets, the raw data may be difficult to interpret. Graphical representations such as pie charts, bar charts, scatter plots, graphs, and similar visual aids can convey the information in a data set more effectively than lists and tables of numbers.
Some data processing applications incorporate their own chart-generating functions, but these functions may be insufficiently flexible to produce effective charts of certain complex data sets. On the other hand, applications with powerful charting functions may require that the data to be charted also be processed by (or at least imported into) the same application. In the latter case, a developer may face extra work moving data from system to system, or configuring the powerful charting application to also perform the desired data manipulations. Furthermore, this work may not be reusable if different data processing or charting functions from another application are to be incorporated into a system.
Existing approaches such as Microsoft's Object Linking and Embedding (“OLE”) permit some interaction between data processing and charting applications, but the interacting entities (e.g. software applications) are tightly coupled and require extensive and detailed knowledge of their partner's internal structures and operations.
A system to decouple data processing activities from chart preparation, and to permit “mix-and-match” selection of desired features, may be of value in this field.